package MyRedis

/**
SliceResult 切片返回结构体
*/
type SliceResult struct {
	Result []interface{}
	Err    error
}

func NewSliceResult(result []interface{}, err error) *SliceResult {
	return &SliceResult{Result: result, Err: err}
}

/**
Unwrap 无err时返回切片,否则panic
*/
func (r *SliceResult) Unwrap() []interface{} {
	if r.Err != nil {
		panic(r.Err)
	}
	return r.Result
}

/**
UnwrapDefault 无err时返回切片,否则返回默认切片
*/
func (r SliceResult) UnwrapDefault(sli []interface{}) []interface{} {
	if r.Err != nil {
		return sli
	}
	return r.Result
}
